1 GOTO910 2 REM ** ML STOP KEY DISABLE ** 3 PRINT"x[169]=[141][169][141]X` [234][255][169][255][133][145]L4[234]x[169]1[141][169][234][141]X` 4 [153]"xhhh+hNOThhhhhhhPRINT#HRUNHX`111" 5 [153]"hhhhhhh`1" 6 [143] ** 4 - POP ML SUBROUTINE ** 10 [143] **GENERAL INPUT ROUTINE ** 15 : 30 : 35 [143] +++ INPUT SECTION +++ 40 [151]UO,0:UR$[178]"":UI$[178]"" 42 [139]UL[178]0[167]UL[178]80 45 [153]" CMDCMD";:[151]UC,0 50 [161]UI$:[139]UI$[178]""[167]50 55 [139]UI$[178][199](13)[175][195](UR$)[177][178]1[167][151]UC,1:[153]" CMD";:[137]85 60 [139]UI$[178][199](20)[167]105 62 [139] [195](UR$)[178][177]UL[167]50 65 [141]120:[143] CHECK FOR VALID CHARACTER 70 UR$[178]UR$[170]UI$ 75 [153]UI$; 80 [137]50 85 [143] +++ CHECK FOR HELP REQUEST +++ 90 [139]UR$[178]UX$[167]195:[143] EXIT TO HELP ROUTINE 95 [139]UF[178]1[167][141]240 100 UF[178]0:[153]:[142] 102 [143] ++ CHECK DELETE ++ 105 [139][195](UR$)[179]1[167]50 110 UR$[178][200](UR$,[195](UR$)[171]1) 115 [153]"CMD CMDCMD";:[137]50 120 [143] ++ CHECK FOR VALID CHARACTERS ++ 125 [139][195](US$)[178]0[167]150 130 [129]US[178]1[164][195](US$) 135 [139]UI$[178][202](US$,US,1)[167][142] 140 [130] 145 UI$[178]"":[142] 150 [143] ** STANDARD INPUT ** 152 [139][198](UI$)[178]46[167][142] 155 [139]UI$[178][199](32)[167][142] 160 [139][198](UI$)[179]48[176][198](UI$)[177]57[167]170 165 [142] 170 [139][198](UI$)[179]65[176][198](UI$)[177]90[167]180 175 [142] 180 [139][198](UI$)[179]193[176][198](UI$)[177]218[167]UI$[178]"":[142] 185 [139][194](UT)[178]UU%[167]UI$[178][199]([198](UI$)[171]128):[142] 187 [142] 190 UI$[178]"":[142] 195 [153]"CMD ";:UF[178]1:[143] +++ HELP ROUTINE EXIT +++ 197 [141]250 200 [141]245 205 [129]UQ[178]UB[164](UB[170]880) 210 UQ%(UQ[171]UB)[178][194](UQ):[130]:[153]"LOAD" 215 UZ[178]1:UV%[178][194](UT) 216 [137]300 217 UZ[178]0:US$[178]UJ$:UG$[178]UK$:UP[178]UJ:UL[178]UK 218 [139][194](50003)[178]0[167][151]53281,1:[153]"LOAD";:[151]53281,6:[151]53280,14:[137]220 219 [153]"LOAD"; 220 UT$[178]UL$:[151]UT,UV%:[129]UQ[178]UB[164](U2%[172]256[170]U1%[170]U3%[171]3) 225 [151]UQ,UQ%(UQ[171]UB):[130] 230 [151]U1,U1% 232 [151]U2,U2% 233 [151]U4,U4% 234 [151]U3,U3%[171]1 235 [137]35 240 UD%[178]((U2%[172]256[170]U1%[170]U3%)[171]UB)[173]40:[153][200](UD$,UD%[170]1):[142] 245 [153][200](UD$,24);"  HELP COMING WAIT ":[142] 250 U1%[178][194](U1):U2%[178][194](U2):U3%[178][194](U3):U4%[178][194](U4) 251 UJ$[178]US$:UK$[178]UG$:UL$[178]UT$:UJ[178]UP:UK[178]UL 255 [142] 300 [143] ** MENU ** 301 : 302 [153]"LOAD":[151]UT,UU%:[139][194](50003)[178]0[167][151]53281,9:[151]53280,8 303 : 305 [153]" MENU" 310 [153]" --------------------------------------" 315 [153]" 1. BEGIN MIXED NUMBERS 320 PRINT" 2. STUDENT INSTRUCTIONS" 325 PRINT" 3. TEACHER INSTRUCTIONS" 335 PRINT" 4. QUIT" 340 PRINT" --------------------------------------" 345 PRINT" PRESS A NUMBER KEY (1-4) "; 350 UL=1:US$="1234":GOSUB35:REM INPUT ROUTINE 352 US$="" 355 ONVAL(UR$)GOSUB1000,400,500,396 360 GOTO300 395 REM ** RE-ENABLE STOP KEY AND END ** 396 IFPEEK(50003)<>1ANDPEEK(50003)<>160ANDPEEK(50003)<>0THEN399 397 SYSUU+71:IFPEEK(50003)=0THENPOKE53281,6:POKE53280,14 398 PRINT"[154][147]":END 399 GOSUB875:RETURN 400 REM ** STUDENT INSTRUCTIONS ** 405 PRINT"[147]":POKEUT,UL%:IFPEEK(50003)=0THENPOKE53281,0:POKE53280,0 410 UH=1:UP=0:UG$="[211]TUDENT [201]NST":GOSUB850 415 PRINT"  [217]OU ARE ASKED FOR THE NUMBER OF" 417 PRINT" ADDENDS YOU WISH TO ADD.(4 IS" 419 PRINT" THE MAX.) [212]HEN YOU WILL BE GIVEN" 421 PRINT" THE QUESTION.[217]OU ARE TO TYPE IN" 423 PRINT"  THE DENOMINATOR, NUMERATOR AND":PRINT" THE INTEGER SUM." 435 GOSUB835 490 IFUZ=1THENSYSUP%:GOTO217 499 RETURN 500 REM ** TEACHER INSTRUCTIONS ** 501 PRINT"[147]":POKEUT,UL%:IFPEEK(50003)=0THENPOKE53281,2:POKE53280,10 502 UH=1:UP=0:UG$="[212]EACHER [201]NST":GOSUB850 503 PRINT" [212]O THE BEST OF OUR KNOWLEDGE," 504 PRINT" THIS PROGRAM IS IN THE PUBLIC" 505 PRINT" DOMAIN. [201]F THIS IS NOT THE CASE" 506 PRINT" PLEASE CONTACT:" 507 PRINT" [195]OMMODORE [194]USINESS [205]ACHINES" 508 PRINT" 3370 [208]HARMACY [193]VE. 509 [153]" ATNGINCOURT, (null)NTARIO" 510 [153]" LENANADA (null)1(null) 2(null)4" 511 [153]" (416) 499-4292" 512 UH[178]1:UP[178]1:[141] 835:[141] 850: 513 [153]" (null)ROGRAM (null)AME: (null)IXED (null)UMBERS 514 PRINT" [215]RITTEN [194]Y : [213]NKNOWN 515 [153]" (null)PGRADED PEEKY : (null)TEVE CHR$UTZ 516 PRINT" [212]HIS PROGRAM WILL RUN ON ANY 519 [153]" (null)VAL(null) 64 LEN(null)(null)(null)(null)(null)VAL(null) 520 PRINT" [195][207][205][205][207][196][207][210][197] 64 [195][207][205][208][213][212][197][210] 521 [141]835 590 [139]UZ[178]1[167][158]UP%:[137]217 599 [142] 600 [143] ** PROGRAM MODIFICATION INST ** 601 [153]"LOAD":[151]UT,UL% 605 UH[178]1:UP[178]0:UG$[178]"(null)ROGRAM (null)OD":[141]850 660 [141]835 690 [139]UZ[178]1[167][158]UP%:[137]217 699 [142] 700 [143] ** TO USE 8032 LOAD CBM4032 ** 710 [153]"LOADBEFORE RUNNING THIS PROGRAM ON AN 8032  720 PRINT" LOAD THE 'CBM 4032' PROGRAM" 730 SYSUU+71 740 END 800 REM ** T I T L E P A G E ** 802 PRINT"[147]";:POKEUT,UU%:IFPEEK(50003)=0THENPOKE53280,14:POKE53281,6 804 FORI=1TO38:PRINT"[166][146]";:NEXT 806 FORI=1TO22:PRINT"[157][166][146]";:NEXT 808 FORI=1TO37:PRINT"[157][157][166][146]";:NEXT 810 FORI=1TO22:PRINT"[145][157][166][146]";:NEXT 812 PRINT"[169] [146] 814 [153]" WAIT  WAITSTEP 816 PRINT" [146] [163][223] 818 [153]"(null) WAIT 820 PRINT"C O M M O D O R E 822 [153]"EDUCATIONAL 824 PRINT"SOFTWARE 826 [143] ** COMMODORE LOGO ** 827 [153][200](UD$,24);"PRESS SPACE BAR OR WAITWAIT":I[178]0 828 [161]A$:[139]A$[179][177]" "[167]I[178]I[170]1:[139]I[179]250[167]828 830 T1$[178]"":T2$[178]"":T3$[178]"":T4$[178]"":I[178]0 832 [137]300 835 [143] ** SPACE BAR PRESS ** 840 [151]UO,0:[153][200](UD$,24);"PRESS SPACE BAR TO CONTINUEWAIT" 844 [161]UI$:[139]UI$[179][177]" "[167]844 846 [142] 850 [143] ** PAGE DESIGN ROUTINE ** 852 UP[178]UP[170]1 855 [153]"LOAD"[200](UT$[170]UP$,21);[201](UP$[170]UG$[170][196](UP),18) 860 [153]" --------------------------------------" 864 [139]UH[179][177]0[167]870 865 [153][200](UD$,24);[200](UP$,7);"HELP - PRESS H " 870 UH[178]0:[153]"":[142] 875 [143] ** PLEASE WAIT REMARK ** 880 [153][200](UD$,24);" ONE MOMENT PLEASE... " 885 [142] 900 [143] ** SET UP VARIABLES ** 901 UX$[178]"H":[134]UQ%(1000):UB[178]32768:U1[178]196:U2[178]197:U3[178]198:U4[178]216:UC[178]167:UU[178]1024 902 UT[178]59468:UU%[178]12:UL%[178]14:UP%[178]1146:UM[178]32768:UO[178]158:[151] 50003,0 903 [139][194](50003)[178]0[167]UB[178]1024:U1[178]209:U2[178]210:U3[178]211:U4[178]214:UC[178]204:UU[178]2048 904 [139][194](50003)[178]0[167]UT[178]53272:UU%[178]21:UL%[178]23:UP%[178]2139:UM[178]1024:UO[178]198 905 UD$[178]"" 906 UP$[178]" " 907 UT$[178]" (null)RIGHT$(null)VALSTR$CLOSE(null)(null)(null)PEEKVAL(null)(null)CLOSECLOSECLOSECLOSECLOSE":[143] PLACE PROGRAM TITLE HERE !!!!!!!!!!!!!!!!!*** 908 [142] 910 [143] ** SET VARIABLES ** 915 [141]900 920 [143] ** CHECK FOR 8032 ** 925 [153]"LOAD":[153]"CLOSE":[143] SHIFTED SPACE 930 [139][194](UB[170]40)[179][177]96[167][141]700 931 [143] ** MEMORY CHECK ** 932 [139] [184](0)[177]2000[167]937 933 [153]"LOADTHIS MACHINE DOES NOT HAVE ENOUGH" 934 [153]"MEMORY TO RUN THIS PROGRAM !" 935 [158]UU[170]71 936 [128] 937 [153]"LOAD":[139][194](50003)[178]0[167]962 940 [143] ** BASIC 2.0 OR 4.0 OR C-64 SETUP ** 941 [151]1075,133:[151]1076,144:[151]1077,234:[151]1079,4:[151]1080,133:[151]1081,145 942 [151]1091,155:[151]1098,133:[151]1099,144:[151]1100,234:[151]1103,133 943 [151]1104,145:[151]1105,234:[151]1082,234 945 [139][194](50003)[179][177]160[167]955 950 [151]1093,88:[151]1094,228:[151]1097,85:[151]1102,228:[137]965 955 [139][194](50003)[179][177]1[167]990 960 [151]1093,49:[151]1094,230:[151]1097,46:[151]1102,230:[137]965 962 [151]2099,141:[151]2100,20:[151]2101,3:[151]2103,8:[151]2104,141:[151]2105,21 963 [151]2106,3:[151]2115,145:[151]2117,52:[151]2118,234:[151]2121,49:[151]2122,141 964 [151]2123,20:[151]2124,3:[151]2126,234:[151]2127,141:[151]2128,21:[151]2129,3 965 [158]UU[170]48:[143] DISABLE STOP KEY 970 [141]800:[143] TITLE 980 [137]300:[143] MENU 990 [153]"LOADTHE PGM WILL NOT WORK ON THIS MACHINE!":[128] 1000 [139]UZ[178]1[167][158]UP%:[158]UP%:UZ[178]0:[143] ** PROGRAM STARTS HERE ** 1001 [153]"LOAD";:[140]:[139][194](50003)[178]0[167][151]53281,6:[151]53280,14 1100 UT$[178]" MIXED NUMBERS":UG$[178]"SET-UP" 1220 UP[178]0:UH[178]1:[141]850:[153]"" 1230 [153]" MIXED NUMBERSWAIT 1240 PRINT"  THIS PROGRAM EXERCISES YOUR " 1250 PRINT 1260 PRINT" ABILITY TO ADD MIXED NUMBERS.":GOSUB835 1270 UH=1:GOSUB850:PRINT""; 1280 PRINT" [207][163][163][163][163][165] [207][207][207][207][207][165] 1290 [153]" (null)TOTOTOTOFN (null)(null)(null)(null)(null)FN 1300 PRINT 1310 PRINT" 12345 1330 [153]" THE BOX ON THE LEFT HAS BEEN DIVIDED 1340 PRINT" 1350 [153]" INTO FIVE EQUAL PARTS. THIS IS USUALLY 1360 PRINT" STATED BY THE SYMBOL [195][146][145][157][164] OR /[146][145][157][164]. THUS ONE 1370 [153]" 1380 PRINT" OF THE SMALL BOXES IN THE RIGHT BIG" 1390 PRINT" 1 1400 [153]" BOX WOULD BE STATED AS LEN OR 1/5. 1410 PRINT" 5 1420 [153]"" 1430 [141]1800 1439 UG$[178]"QUESTION #" 1440 X[178]0:UH[178]1:UP[178]W:[141]850:[153]"HOW MANY ADDENDS DO YOU WANT? ";: 1441 [153]"(TYPE QWAIT TO QUIT) 1442 PRINT""; 1443 US$="Q234H":GOSUB35 1444 N1$=UR$ 1445 IFN1$="Q"THEN2000 1446 N1=VAL(UR$) 1450 GOSUB875 1455 PRINT" " 1456 PRINT" " 1460 FOR I=1TON1 1470 A(I)=INT(RND(TI)*10):IFA(I)=0THEN1470 1480 B(I)=INT(RND(TI)*10):IFB(I)=0THEN1480:IFB(I)=1THEN1480 1490 N=A(I):D=B(I):GOSUB1730 1500 A(I)=N:B(I)=D 1510 PRINTSPC(3);A(I)-INT(A(I)/B(I))*B(I) 1520 PRINTINT(A(I)/B(I));" [195]" 1530 PRINT" "; B(I) 1540 PRINT:NEXT 1550 N=0:D=1 1560 FORI=1TON1:D=D*B(I):NEXT 1570 FORI=1TON1:N=N+(A(I)*(D/B(I))):NEXT 1580 GOSUB1730 1590 GOSUB1601 1600 W=W+1:GOTO1440 1601 PRINTLEFT$(UD$,24);" HELP - PRESS H " 1610 PRINT""SPC(17)"I [162][162][162][162][145][157][157][157]N" 1620 PRINT""SPC(12)"TYPE DENOMINATOR":Q=INT(N/D):GOSUB1840 1630 IFD<>D2THEN1710: 1640 PRINT""SPC(12);"TYPE NUMERATOR ":N3=N-(Q*D):GOSUB1860 1650 IFN3<>N2THEN1720 1660 PRINT""SPC(12);"TYPE INTEGER SUM ":GOSUB1880 1670 IFQ<>Q2THEN1700 1680 PRINT"THAT'S RIGHT!":PRINT"***VERY GOOD***[146]" 1685 Z=Z+(3-X) 1690 GOSUB835:RETURN 1700 PRINT" INTEGER SUM INCORRECT":X=X+1 1705 PRINT" TRY AGAIN":GOSUB1900:GOTO1660 1710 PRINT" DENOMINATOR INCORRECT":X=X+1 1715 PRINT" TRY AGAIN":GOSUB1900:GOTO1620 1720 PRINT"  NUMERATOR INCORRECT":X=X+1 1725 PRINT" TRY AGAIN":GOSUB1900:GOTO1640 1730 REM 1731 FORP=NTO2STEP-1 1740 IFN/P=INT(N/P)THEN1760 1750 NEXTP 1760 IFD/P=INT(D/P)THEN1780 1770 GOTO1750 1780 N=N/P:D=D/P 1790 RETURN 1800 GOSUB835:RETURN 1840 PRINT""SPC(20);:PRINT" D [157][157][157]";:UL=3:US$="01 23456789DH":GOSUB35 1841 D2$=UR$:IFD2$<>"D"THEND2=VAL(D2$):RETURN 1850 PRINT"[145]"SPC(20)" ":GOTO1840 1860 PRINT""SPC(20);:PRINT" N [157][157][157][157][157]";:US$="0123 456789NH":GOSUB35 1861 N2$=UR$:IFN2$<>"N"THENN2=VAL(N2$):RETURN 1870 PRINT"[145]"SPC(20)" ":GOTO1860 1880 PRINT""SPC(16);:PRINT"I [157][157][157][157]";:US$="012345 6789IH":GOSUB35 1881 IFQ2$<>"I"THENQ2=VAL(UR$):RETURN 1890 PRINT"[145]"SPC(15)" " :GOTO1880 1900 GOSUB835 1902 PRINT" " 1904 PRINT" " 1910 PRINT"[145][145]"SPC(8)" ":RETURN 2000 IFW=0THENRETURN 2001 UG$="END":UP=0:UH=1:GOSUB850 2010 PRINT"YOU GOT"Z"POINTS OUT OF A POSSIBLE"W*3 2020 PRINT"THAT'S"INT(Z/(W*3)*100)"%!" 2030 GOSUB835 2031 W=0:Z=0:UP=0:X=0 2040 RETURN